#ifndef _UtilidadesSVG_h
#define _UtilidadesSVG_h
#include <iostream>
#include <vector>
#include "IDibujable.h"
using namespace std;

/** \file UtilidadesSVG.h
* \brief Clase UtilidadesSVG
*
* Defincion de clase UtilidadesSVG.
* JAVIER ANTON DIAZ DNI:48629698Q
* STANISLAV LITVINENKO DNI:02062226T
*/

/** \brief Clase virtual IDibujable.
 *
 * Clase que define los métodos y funciones asociados a esta.
 */
class UtilidadesSVG{

	public:
		/** \brief crearFigura().
		*
		* El modulo encargado de crear la figura dependiendo de que parametros reciba, devolviendo el puntero a esta.
		* \param descripcion El nombre de la figura a crear
		* \param is flujo de entrada con el nombre de la figura y demas
		* \return Devuelve un puntero a un IDibujable estatico
		*/		
		static IDibujable* crearFigura(string, istream&);

		/** \brief hacerOperacion().
		*
		* El modulo encargado en hacer las operaciones sobre las figuras dependiendo del que parametros reciba.
		* \param figuras El vector con las figuras a manejar
		* \param is flujo de entrada con las operaciones
		* \return No devuelve nada
		*/
		static void hacerOperacion(vector<IDibujable*>&, istream&); 
	private:
		/** \brief Constructor por defecto de objeto UtilidadesSVG.
		*
		* Crea el objeto UtilidadesSVG.
		*/
		UtilidadesSVG();
};

#endif
